package com.cms.service;

import java.util.List;
import java.util.Map;

import com.core.page.Pagination;

public interface SubjectDataService {
	
	/**
	 * 根据专题ID返回专题的数据集
	 * @param subjectId
	 * @return
	 */
	List getSubjects(String idSubject);
	
	Pagination<Map> getSubjects(String idSubject, Pagination<Map> pagination);
	
	/**
	 * 根据专题ID和数据ID，返回专题的指定数据行
	 * @param idSubject
	 * @param itemId
	 * @return
	 */
	Map getSubject(String idSubject, String itemId);
	
	/**
	 * 根据专题ID，数据ID和数据线名称，返回数据项的值
	 * @param idSubject
	 * @param itemId
	 * @param itemName
	 * @return
	 */
	Object getSubjectItemValue(String idSubject, String itemId, String itemName);
	
	/**
	 * 根据专题ID返回专题的数据总数量
	 * @param idSubject
	 * @return
	 */
	int getSubjectSize(String idSubject);
	
	/**
	 * 根据专题ID和参数，返回符合条件的专题数据集
	 * @param idSubject
	 * @param params 数字项使用等值匹配，文本项使用模糊匹配
	 * @return
	 */
	List getSubjects(String idSubject, Map params);
	
	Pagination<Map> getSubjects(String idSubject, Map params, Pagination<Map> pagination);
	
	public String getRelativePathByKey(String key);
	
}
